package imservice

const (
	UserId = "userid"
	UserName = "username"

	ReqPageSize = "pageSize"
	ReqPageNum = "pageNum"
	ReqOrderType = "orderType"

	ReqNickName = "nickname"
	ReqProfilePhoto = "profilePhoto"
	MaxLength = 63

	ReqMessage = "message"
	ReqRemark = "remark"
	ReqAddress = "address"
	ReqStatus = "status"

	ReqGroupName = "groupName"
	ReqGroupNotice = "groupNotice"
	ReqGroupLogo = "groupLogo"

	ReqUserId = "userId"
	ReqGroupId = "groupId"
	ReqSeq = "seq"
	ReqNum = "num"
	ReqIds = "ids"
	ReqId = "id"
)

// 私聊 群聊 用户发送的聊天消息类型
// 0 文本, 1 加密文本, 2 图片, 3 视频, 4 文件, 5 语音, 6 名片, 7 站内转账, 8 区块链转账, 9 站内红包, 10 区块链红包
// 11 语音, 12 视频, 13 领取转账, 14 领取红包
const (
	MsgText uint8 = iota
	MsgTextEncrypted
	MsgImage
	MsgVideo
	MsgFile
	MsgAudio
	MsgContactCard
	MsgTransferInAapp
	MsgTransferChain

	MsgRedPacketInApp
	MsgRedPacketChain

	MsgVoiceChat
	MsgVideoChat

	MsgReceiveTransfer
	MsgGrabRedPacket
)

// 私聊 控制类型
// 40 添加好友申请, 41 添加好友失败, 42 添加好友成功,  43 删除好友, 44 删除好友和历史聊天 45 加群成功, 46 加群失败
const (
	MsgAddFriendApply uint8 = 40 + iota
	MsgAddFriendFail
	MsgAddFriendSuccess
	MsgDeleteFriend
	MsgDeleteFriendHistory
	MsgJoinSuccessF  // 加群成功 通知该用户 开启群聊窗口
	MsgJoinFailF     // 加群失败 通知该用户
)


// 群聊 控制类型
// 60 建群, 61 申请加群, 62 加群成功， 63 加群失败, 64 被移出群聊 65 自己退出群聊, 66 设为管理, 67 取消管理, 68 转移群主, 69 控制加群方式, 70 全员是否禁言
const (
	GroupCreate uint8 = 60 + iota

	// 控制成员
	GroupJoinApply
	GroupJoinSuccess  // 加群成功 1通知群里 2 群管理更新已处理
	GroupJoinFail     // 加群失败 群管理更新已处理
	GroupRemove
	GroupRemoveSelf

	// 控制管理员
	GroupSetAdmin
	GroupCancelAdmin
	GroupTransferOwner

	// 控制加群方式
	GroupJoinWay  // 0 allow, 1 admin, 2 no

	// 全员是否禁言
	GroupAllowSend  // 0 yes, 1 no
)

// 97 保留信息的时长, 98 解散群, 99 解散并清空
const (
	// 解散群
	GroupAutoDelete uint8 = 97 + iota
	GroupDisband
	GroupDisbandDelete
)